using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Net;

namespace Servidor
{
    class Program
    {
        static void Main(string[] args)
        {
            TcpListener servidor = new TcpListener(IPAddress.Any, 8888);            
            TcpClient cliente = default(TcpClient);//new TcpClient();
            servidor.Start();
            Console.WriteLine(" >> Servidor Iniciado!");
            cliente = servidor.AcceptTcpClient();
            Console.WriteLine(" >> Cliente Conectado!");

            while (true)
            {
                try
                {
                    NetworkStream canal = cliente.GetStream();
                    byte[] datos = new byte[10025];
                    canal.Read(datos, 0, (int)cliente.ReceiveBufferSize);
                    string mensaje = System.Text.Encoding.ASCII.GetString(datos);
                    mensaje = mensaje.Substring(0, mensaje.IndexOf("$"));
                    Console.WriteLine(" >> Cliente dice: - " + mensaje);
                    //string respuesta = "Hola " + mensaje;
                    //Byte[] datos_rpta = Encoding.ASCII.GetBytes(respuesta);
                    //canal.Write(datos_rpta, 0, datos_rpta.Length);
                    //canal.Flush();
                    //Console.WriteLine(" >> Servidor dice: - " + respuesta);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
                finally {
                    cliente.Close();
                    servidor.Stop();
                    Console.WriteLine(" >> Terminado!");
                    Console.ReadLine();
                }
            }
            //cliente.Close();
            //servidor.Stop();
            //Console.WriteLine(" >> Terminado!");
            //Console.ReadLine();
        }
    }
}
